package com.maegul.web.pages.base;

import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.PropertyModel;

import com.maegul.data.entities.User;
import com.maegul.web.MaegulSession;
import com.maegul.web.pages.Index;

/**
 * Clase que modela el texto que indica si el usuario esta logueado o no, si
 * esta loguedo muestra un link para cerrar la sesion
 */
public class UserPanel extends Panel {
	private static final long serialVersionUID = 1L;
	

	/**
	 * Constructor de la clase
	 * 
	 * @param id
	 *            el <code>id</code> del panel de usuario en el html
	 */
	public UserPanel(String id) {
		super(id);
		
		add(new Label("fullname", new PropertyModel<User>(this,
				"session.user.fullName")));

		add(new Link<Index>("logout") {

			private static final long serialVersionUID = 1L;

			@Override
			public void onClick() {
				// TODO guardar el usuario en la base de datos para posteriores
				// sesiones
				MaegulSession.get().setUser(null);
				setResponsePage(getApplication().getHomePage());
			}

			@Override
			public boolean isVisible() {
				return MaegulSession.get().isAuthenticated();
			}

		});
	}

}
